{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "import matplotlib.pylab as plt\n",
    "import seaborn as sns\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Part 1: Regression"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here we try to build a model to predict adjusted sales price from a set of building features."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Load data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Load data from file\n",
    "# DO NOT CHANGE THIS (needed for grading)\n",
    "infile_name = '../data/house_sales_subset_normed.csv'\n",
    "df = pd.read_csv(infile_name)\n",
    "\n",
    "# Use a subset of the columns as features\n",
    "X = df[['SqFtTotLiving_norm','SqFtLot_norm','Bathrooms','Bedrooms','TrafficNoise']]\n",
    "\n",
    "# Extract the target, adjusted sale price, in values of $100,000\n",
    "# Note: the '_r' here is denote the different targets for regression and classification\n",
    "y_r = df.AdjSalePrice / 100000"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Create a held-aside set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Split into 80% train and 20% test using train_test_split and random_state=42\n",
    "from sklearn.model_selection import train_test_split\n",
    "X_train_r, X_test_r, y_train_r, y_test_r = train_test_split(X, y_r, test_size=.2, random_state=42)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Measure baseline performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Instantiate and train a dummy model on the training set using DummyRegressor\n",
    "from sklearn.dummy import DummyRegressor\n",
    "dummy_r = DummyRegressor().fit(X_train_r,y_train_r)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dummy RMSE: 2.162\n"
     ]
    }
   ],
   "source": [
    "# Calculate and print RMSE training set error of the dummy model\n",
    "from sklearn.metrics import mean_squared_error\n",
    "dummy_r_training_rsme = np.sqrt(mean_squared_error(dummy_r.predict(X_train_r),y_train_r))\n",
    "print('dummy RMSE: {:.3f}'.format(dummy_r_training_rsme))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dummy R2: 0.000\n"
     ]
    }
   ],
   "source": [
    "# Calculate and print the R2 training set score of the dummy model\n",
    "# hint: can use models 'score' function\n",
    "dummy_r_training_r2 = dummy_r.score(X_train_r,y_train_r)\n",
    "print('dummy R2: {:.3f}'.format(dummy_r_training_r2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dummy mean cv R2: -0.000\n"
     ]
    }
   ],
   "source": [
    "# Calculate and print the mean 5-fold cross valication R2 score of the dummy model\n",
    "from sklearn.model_selection import cross_val_score\n",
    "dummy_r_cv = cross_val_score(dummy_r,X_train_r,y_train_r,cv=5)\n",
    "print('dummy mean cv R2: {:.3f}'.format(np.mean(dummy_r_cv)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Measure performance of Linear Regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Instantiate and train a LinearRegression model on the training set\n",
    "from sklearn.linear_model import LinearRegression\n",
    "lr = LinearRegression().fit(X_train_r,y_train_r)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "lr RMSE: 1.584\n"
     ]
    }
   ],
   "source": [
    "# Calculate RMSE training set error of the linear model\n",
    "# There should be an improvement over the dummy model\n",
    "lr_rmse = np.sqrt(mean_squared_error(lr.predict(X_train_r),y_train_r))\n",
    "print('lr RMSE: {:.3f}'.format(lr_rmse))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "lr R2: 0.4630\n"
     ]
    }
   ],
   "source": [
    "# Calculate and print the R2 training set score of the linear model\n",
    "lr_r2 = lr.score(X_train_r,y_train_r)\n",
    "print('lr R2: {:.4f}'.format(lr_r2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "lr mean cv R2: 0.4616\n"
     ]
    }
   ],
   "source": [
    "# Calculate mean 5-fold Cross Validation R2 score of the linear model on the training set using cross_val_score\n",
    "from sklearn.model_selection import cross_val_score\n",
    "scores = cross_val_score(lr, X_train_r, y_train_r, cv=5)\n",
    "print('lr mean cv R2: {:.4f}'.format(np.mean(scores)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Model selection"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "# We'll also train an Elastic Net model using regularization\n",
    "# Perform GridSearch over different proportions of the l1_ratio = [.1,.5,.9,1] using the training set\n",
    "# The only parameter in our search is this l1_ratio\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.linear_model import ElasticNet\n",
    "params = {'l1_ratio':[.1,.5,.9,1]}\n",
    "gs = GridSearchCV(ElasticNet(), params).fit(X_train_r, y_train_r)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "gs best R2 score : 0.2989\n",
      "gs best params: {'l1_ratio': 0.1}\n"
     ]
    }
   ],
   "source": [
    "# Print out the best R2 score found using grid search and the best parameter setting found\n",
    "print('gs best R2 score : {:.4f}'.format(gs.best_score_))\n",
    "print('gs best params: {}'.format(gs.best_params_))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "en mean cv R2  : 0.2990\n"
     ]
    }
   ],
   "source": [
    "# Using the best parameter setting found via cross validation in the step before\n",
    "#   calculate and print the mean 5-fold cv R2 score on the training set\n",
    "en = ElasticNet(l1_ratio = .1)\n",
    "scores = cross_val_score(en, X_train_r, y_train_r, cv=5)\n",
    "print('en mean cv R2  : {:.4f}'.format(np.mean(scores)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Retrain the ElasticNet model on the full training set and get predictions on the full training set\n",
    "y_hat = en.fit(X_train_r,y_train_r).predict(X_train_r)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot predictions (x-axis) vs residuals (y-axis) using plt.scatter() with alpha=0.2\n",
    "# Set axis names appropriately\n",
    "# recall: residual = y_hat - y\n",
    "residuals = y_hat - y_train_r\n",
    "_ = plt.scatter(y_hat, residuals, alpha=0.2)\n",
    "_ = plt.xlabel('y predicted')\n",
    "_ = plt.ylabel('residuals')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Evaluate trained models on Test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dummy_r test RMSE  : 2.152\n",
      "lr test RMSE       : 1.582\n",
      "en test RMSE       : 1.800\n"
     ]
    }
   ],
   "source": [
    "# Using our trained models, calculate RMSE on the test set\n",
    "print('dummy_r test RMSE  : {:.3f}'.format(np.sqrt(mean_squared_error(dummy_r.predict(X_test_r),y_test_r))))\n",
    "print('lr test RMSE       : {:.3f}'.format(np.sqrt(mean_squared_error(lr.predict(X_test_r),y_test_r))))\n",
    "print('en test RMSE       : {:.3f}'.format(np.sqrt(mean_squared_error(en.predict(X_test_r),y_test_r))))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Feature selection"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "kept columns: ['SqFtTotLiving_norm' 'Bathrooms' 'Bedrooms']\n"
     ]
    }
   ],
   "source": [
    "# Using the ElasticNet model we trained before, what features have a non-zero coefficient?\n",
    "print('kept columns: {}'.format(X.columns.values[en.coef_ != 0]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Now, select the top 3 most informative features from the trained model \n",
    "#   using SelectKBest and the f_regression metric\n",
    "# First, instantiate and fit SelectKbest on the training set\n",
    "from sklearn.feature_selection import SelectKBest, f_regression\n",
    "skb = SelectKBest(f_regression, k=3).fit(X_train_r, y_train_r)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "kept columns: ['SqFtTotLiving_norm' 'Bathrooms' 'Bedrooms']\n"
     ]
    }
   ],
   "source": [
    "# Print out the selected features using skb.get_support() and the column names from X_train_r\n",
    "# In this case, they should match the features kept by the ElasticNet model\n",
    "kept_columns = X_train_r.columns.values[skb.get_support()]\n",
    "print('kept columns: {}'.format(kept_columns))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Part 2: Classification"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here we try to build a model to predict low vs. high adjusted sales price."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Create classification target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "# First, we create a binary target by thresholding at the median of our AdjSalePrice in $100,000\n",
    "y_c = (df.AdjSalePrice > df.AdjSalePrice.median()).astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "proportion of high to low: 0.500\n"
     ]
    }
   ],
   "source": [
    "# What is the proportion of 'high' labels in our dataset\n",
    "print('proportion of high to low: {:.3f}'.format(sum(y_c)/float(len(y_c))))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Create a held-aside set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Split into 80% train and 20% test using train_test_split with random_state=42\n",
    "# Use our new y_c target and the same X we used for regression\n",
    "X_train_c, X_test_c, y_train_c, y_test_c = train_test_split(X, y_c, test_size=0.2, random_state=42)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Measure baseline performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Train a dummy classification model on the training set\n",
    "from sklearn.dummy import DummyClassifier\n",
    "dummy_c = DummyClassifier().fit(X_train_c, y_train_c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dummy accuracy: 0.499\n"
     ]
    }
   ],
   "source": [
    "# Calculate training set Accuracy of the dummy classifier\n",
    "# This should be close to the original proportion of low to high\n",
    "dummy_c_acc = dummy_c.score(X_train_c, y_train_c)\n",
    "print('dummy accuracy: {:.3f}'.format(dummy_c_acc))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Get P(y=1|x) for the test set using the dummy model (we'll use this later)\n",
    "# Note: we only want P(y=1|x) even though predict_proba returns two columns\n",
    "pypos_dummy = dummy_c.predict_proba(X_test_c)[:,1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Measure performance of a Logistic Regression model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Instantiate and train a logistic regression model using default hyperparameters\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "logr = LogisticRegression().fit(X_train_c,y_train_c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "logr training set accuracy: 0.734\n"
     ]
    }
   ],
   "source": [
    "# What is the training set accuracy of our logistic regression model?\n",
    "trainset_acc = logr.score(X_train_c,y_train_c)\n",
    "print('logr training set accuracy: {:.3f}'.format(trainset_acc))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "logr mean cv accuracy: 0.734\n"
     ]
    }
   ],
   "source": [
    "# What is the 5 fold cross-validation accuracy of the logistic regression model on the training set?\n",
    "scores = cross_val_score(logr, X_train_c, y_train_c, cv=5)\n",
    "print('logr mean cv accuracy: {:.3f}'.format(np.mean(scores)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Get P(y=1|x) for the test set using the logistic regression model (we'll use this later)\n",
    "pypos_logr = logr.predict_proba(X_test_c)[:,1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Model selection using a Random Forest model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/bgibson/anaconda3/envs/coms007/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release.\n",
      "  from numpy.core.umath_tests import inner1d\n"
     ]
    }
   ],
   "source": [
    "# Perform 3-fold cross validated grid search over the number of trees\n",
    "# The parameter settings to try are n_estimators = [5,50,100] \n",
    "# Perform the search using the training set\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "params = {'n_estimators':[5,50,100]}\n",
    "gs = GridSearchCV(RandomForestClassifier(),params, cv=3).fit(X_train_c,y_train_c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "gs best accuracy: 0.750\n",
      "gs best params  : {'n_estimators': 100}\n"
     ]
    }
   ],
   "source": [
    "# Print out the best score found and the best parameter setting found\n",
    "print('gs best accuracy: {:.3f}'.format(gs.best_score_))\n",
    "print('gs best params  : {}'.format(gs.best_params_))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Retrain on the entire training set using the best number of trees found\n",
    "rf = RandomForestClassifier(n_estimators=gs.best_params_['n_estimators']).fit(X_train_c,y_train_c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "# get p(y=1|x) for the test set using the trained rf model\n",
    "pypos_rf = rf.predict_proba(X_test_c)[:,1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plotting Precision-Recall curve for the Random Forest model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Plot Precision (y-axis) vs. Recall (x-axis) curve for the Random Forest model\n",
    "# First calculate precision and recall using the y_test_c and pypos_rf \n",
    "from sklearn.metrics import precision_recall_curve\n",
    "precision, recall, _ = precision_recall_curve(y_test_c, pypos_rf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Next, plot the curve using plt.step()\n",
    "# Recall should be on the x-axis\n",
    "# Label the x and y axes appropriately\n",
    "_ = plt.step(recall,precision)\n",
    "_ = plt.xlabel('recall')\n",
    "_ = plt.ylabel('precision')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plotting ROC curves for all models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Plot the ROC curves of our 3 trained models (dummy, logr and rf) \n",
    "# First calculate fpr and tpr for each model using the using y_test_c and each set of pypos values\n",
    "from sklearn.metrics import roc_curve\n",
    "fpr_dummy,tpr_dummy,_ = roc_curve(y_test_c, pypos_dummy)\n",
    "fpr_logr,tpr_logr,_ = roc_curve(y_test_c, pypos_logr)\n",
    "fpr_rf,tpr_rf,_ = roc_curve(y_test_c, pypos_rf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Next, plot each curve using plt.step()\n",
    "# Each curve should be a different color (dummy:blue, logr:red, rf:green)\n",
    "# Include a legend by adding label='model_name' to each plt.step call and calling plt.legend()\n",
    "# Label the axis as 'fpr' and 'tpr' appropriately\n",
    "_ = plt.plot(fpr_dummy,tpr_dummy,color='blue',label='dummy')\n",
    "_ = plt.plot(fpr_logr,tpr_logr,color='red',label='logr')\n",
    "_ = plt.plot(fpr_rf,tpr_rf,color='green',label='rf')\n",
    "_ = plt.legend()\n",
    "_ = plt.xlabel('fpr')\n",
    "_ = plt.ylabel('tpr')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dummy auc: 0.513\n",
      "logr auc : 0.817\n",
      "rf auc   : 0.836\n"
     ]
    }
   ],
   "source": [
    "# Calculate and print the ROC AUC values on the test set for each model\n",
    "from sklearn.metrics import roc_auc_score\n",
    "dummy_auc = roc_auc_score(y_test_c,pypos_dummy)\n",
    "logr_auc = roc_auc_score(y_test_c,pypos_logr)\n",
    "rf_auc = roc_auc_score(y_test_c,pypos_rf)\n",
    "print('dummy auc: {:.3f}'.format(dummy_auc))\n",
    "print('logr auc : {:.3f}'.format(logr_auc))\n",
    "print('rf auc   : {:.3f}'.format(rf_auc))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Feature selection"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "SqFtTotLiving_norm  : 0.434\n",
      "SqFtLot_norm        : 0.370\n",
      "Bathrooms           : 0.117\n",
      "Bedrooms            : 0.054\n",
      "TrafficNoise        : 0.024\n"
     ]
    }
   ],
   "source": [
    "# Using the trained Random Forest model, print the feature name and feature importances for each feature in X\n",
    "# Each row should look like this example: SqFtLot_norm : 0.025\n",
    "_ = [print('{:20s}: {:0.3f}'.format(x,v)) for x,v in zip(X.columns,rf.feature_importances_)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Select the most informative features using SelectFromModel using 'mean' as threshold\n",
    "# Use prefit=True since the model is already trained to save needing to retrain\n",
    "from sklearn.feature_selection import SelectFromModel\n",
    "sfm = SelectFromModel(rf, threshold='mean', prefit=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "kept columns: ['SqFtTotLiving_norm', 'SqFtLot_norm']\n"
     ]
    }
   ],
   "source": [
    "# print out the selected features using X.columns and sfm.get_support()\n",
    "kept_columns = X.columns[sfm.get_support()].tolist()\n",
    "print('kept columns: {}'.format(kept_columns))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "py36",
   "language": "python",
   "name": "py36"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
